#ifndef BIT_WIN_ROWS_H
#define BIT_WIN_ROWS_H


#include "bit_range.h"
#include "row_column_bases.h"


namespace BitWin
{


//---- Row concreete classes


// Bit field (i.e. part of data word) row
class FieldRow: public Row
{
    // Bit field range: data outside this range s.b. invisible
    const BitRange _range;

public:

    FieldRow(
        const QString& title_, const BitRange& range_, const int word_no_
    );

    virtual QVariant data(
        role_t role, const BitRange& range_, const PGenericBitwise& data_
    ) const;
};


// The whole data word row
class WordRow: public Row
{
public:

    WordRow(const QString& title_, const int word_no_);

    virtual QVariant data(
        role_t role, const BitRange& range_, const PGenericBitwise& data_
    ) const;
};


} // BitWin namespace end


#endif
